@book{Aho06,
  author = {Aho, Alfred  V.  and
            Lam, Monica  S.  and
            Sethi, Ravi   and
            Ullman, Jeffrey  D. },
  publisher = {{Addison Wesley}},
  title = {Compilers: Principles, Techniques, and Tools (2nd Edition)},
  year = {2006}
}

@inproceedings{Alpern88,
  author = {Alpern, B. and Wegman, M. N. and Zadeck, F. K.},
  title = {Detecting Equality of Variables in Programs},
  booktitle = {POPL},
  year = {1988},
  pages = {1--11},
  publisher = {ACM}
}

@article{Aycock03,
  author = {Aycock, John},
  title = {A Brief History of Just-In-Time},
  journal = {ACM Computing Surveys},
  volume = {35},
  number = {2},
  year = {2003},
  pages = {97--113},
  publisher = {ACM}
}

@inproceedings{Bala00,
  author = {Vasanth Bala and Evelyn Duesterwald and Sanjeev Banerjia},
  title = {Dynamo: A Transparent Dynamic Optimization System},
  booktitle = {PLDI},
  year = {2000},
  pages = {1--12},
  publisher = {ACM}
}

@inproceedings{Hackett12,
  author = {Brian Hackett and Shu-yu Guo},
  title = {Fast and Precise Hybrid Type Inference for {JavaScript}},   
  booktitle = {PLDI},
  year = {2012},
  publisher = {ACM}
}

@InProceedings{Bodik00,
    author = "Rastislav Bodik and Rajiv Gupta and Vivek Sarkar",
    title = "{ABCD}: Eliminating Array Bounds Checks on Demand",
    booktitle = "PLDI",
    publisher = {ACM},
    pages = "321-333",
    year = "2000"
}

@Book{Chaganti07,
  AUTHOR     = {Prabhakar Chaganti},
  YEAR       = 2007,
  TITLE      = "Google Web Toolkit {GWT} {Java} {AJAX} Programming",
  publisher  = "{PACKT}",
  edition    = "1st",
}

@article{Chambers89,
  author = {Craig Chambers and David Ungar},
  title = {Customization: Optimizing Compiler Technology for {SELF}, a
      Dynamically-Typed Object-Oriented Programming Language},
  journal = {SIGPLAN Not.},
  volume = {24},
  number = {7},
  year = {1989},
  pages = {146--160},
  publisher = {ACM}
}

@article{Chang91,
 author = {Chang, Pohua P. and Mahlke, Scott A. and Hwu, Wen-mei W.},
 title = {Using Profile Information to Assist Classic Code Optimizations},
 journal = {Software Practice and Experience},
 volume = {21},
 number = {12},
 year = {1991},
 pages = {1301--1321},
 publisher = {John Wiley \& Sons}
}

@inproceedings{Chang09,
 author = {Chang,, Mason and Smith,, Edwin and Reitmaier,, Rick and Bebenita,, Michael and Gal,, Andreas and Wimmer,, Christian and Eich,, Brendan and Franz,, Michael},
 title = {Tracing for Web 3.0: Trace Compilation for the Next Generation
     Web Applications},
 booktitle = {VEE},
 year = {2009},
 pages = {71--80},
 publisher = {ACM}
}

@inproceedings{Chugh09,
  author = {Chugh, Ravi and Meister, Jeffrey A. and Jhala, Ranjit and Lerner, Sorin},
  title = "Staged Information Flow for {JavaScript}",
  booktitle = {PLDI},
  year = {2009},
  pages = {50--62},
  publisher = {ACM}
}

@Article{Cytron91,
  author    = "Ron Cytron and Jeanne Ferrante and Barry K. Rosen and
               Mark N. Wegman and F. Kenneth Zadeck",
  title     = "Efficiently Computing Static Single Assignment Form
               and the Control Dependence Graph",
  journal   = {TOPLAS},
  volume    = 13,
  number    = 4,
  year      = 1991,
  pages     = "451-490"
}

@Book{Flanagan01,
  AUTHOR     = {David Flanagan},
  YEAR       = 2001,
  TITLE      = "{JavaScript}: The Definitive Guide",
  publisher  = "O'Reilly",
  edition    = "4",
}

@inproceedings{Gal06b,
  author    = {Andreas Gal and
               Christian W. Probst and
               Michael Franz},
  title     = {{HotpathVM}: An Effective {JIT} Compiler for Resource-Constrained Devices},
  booktitle = {VEE},
  year      = {2006},
  pages     = {144-153}
}

@InProceedings{Gal09,
 author = {Andreas Gal and Brendan Eich and Mike Shaver and David Anderson and Blake Kaplan and Graydon Hoare and David Mandelin and Boris Zbarsky and Jason Orendorff and Jess Ruderman and Edwin Smith and Rick Reitmair and Mohammad R. Haghighat and Michael Bebenita and Mason Change and Michael Franz},
 title = {Trace-based Just-in-Time Type Specialization for Dynamic Languages},
 booktitle = {PLDI},
 year = {2009},
 pages = {465 -- 478},
 publisher = {ACM}
}

@inproceedings{Gardner12,
  author    = {Philippa Gardner and
               Sergio Maffeis and
               Gareth David Smith},
  title     = {Towards a Program Logic for {JavaScript}},
  booktitle = {POPL},
  year      = {2012},
  pages     = {31-44},
  publisher = {ACM}
}

@inproceedings{Guo11,
 author = {Shu-yu Guo and Jens Palsberg},
 title = {The Essence of Compiling with Traces},
 booktitle = {POPL},
 year = {2011},
 pages = {to appear},
 publisher = {ACM}
}

@Book{Jones93,
  AUTHOR     = "Neil D. Jones and Carsten K Gomard and Peter Sestoft",
  YEAR       = 1993,
  TITLE      = {Partial Evaluation and Automatic Program Generation},
  publisher  = "Prentice Hall",
  edition    = "1st",
}

@book{Muchnick97,
  author = {Muchnick, Steven  S. },
  publisher = {Morgan Kaufmann},
  title = {Advanced Compiler Design and Implementation},
  year = {1997}
}

@book{Nielson99,
  author = "Flemming Nielson and Hanne R. Nielson and Chris Hankin",
  publisher = {Springer},
  title = "Principles of Program Analysis",
  year = {1999}
}

@inproceedings{Patterson95,
 author = {Patterson, Jason R. C.},
 title = {Accurate Static Branch Prediction by Value Range Propagation},
 booktitle = {PLDI},
 year = {1995},
 pages = {67--78},
 publisher = {ACM}
}

@inproceedings{Richards10,
  author    = {Richards G. and Lebresne S. and Burg B. and Vitek, J.},
  title     = {An Analysis of the Dynamic Behavior of {JavaScript} Programs},
  booktitle = {PLDI},
  year      = {2010},
  pages     = {1--12}
}

@misc{Shankland09,
   author = "Stephen Shankland",
   title = "How {JavaScript} became a browser-war battleground",
   howpublished = "http://www2.galcit.caltech.edu/~jeshep/GraphicsBib/NatBib/node3.html",
   year = 2009,
   note = "Accessed in 2012 (Apr 30)",
}

@inproceedings{Sol11,
  author    = {Marcos Rodrigo Sol Souza and Christophe Guillon and
    Fernando Magno Quintao Pereira and Mariza Andrade da Silva Bigonha},
  title     = {Dynamic Elimination of Overflow Tests in a Trace Compiler},
  booktitle = {CC},
  year      = {2011},
  pages     = {2--21}
}

@article{Wegman91,
 author = {Wegman, Mark N. and Zadeck, F. Kenneth},
 title = {Constant Propagation with Conditional Branches},
 journal = {TOPLAS},
 volume = {13},
 number = {2},
 year = {1991},
 publisher = {ACM}
}

@phdthesis{Zaleski07,
   author = "Mathew Zaleski",
   title = "{YETI}: A Gradually Extensible Trace Interpreter",
   school = "University of Toronto",
   year = "2007"
}

@inproceedings{Zhou11,
  author    = {Hucheng Zhou and
               Wenguang Chen and
               Fred C. Chow},
  title     = {An {SSA}-based Algorithm for Optimal Speculative Code Motion
               Under an Execution Profile},
  booktitle = {PLDI},
  year      = {2011},
  pages     = {98-108},
  publisher = {ACM}
}
